Autonomous mobile robot system for sensor-based and map-based navigation in pipe networks

ABSTRACT

The autonomous mobile robot system is provided with a sensor-based and map-based navigation system for navigating in a pipe network. The navigation is based on the classification of pre-existing natural landmarks. The navigation system can compensate for inaccurate robot system&#39;s motion control, sensor information, and landmark classification.

This application is the national phase under 35 U.S.C. §371 of prior PCTInternational Application No., PCT/EP97/01027, which has anInternational filing date of Mar. 1. 1997, which designated the UnitedStates of America, the entire contents of which are hereby incorporatedby reference.

FIELD OF THE INVENTION

The present invention relates to an autonomous mobile robot system forsensor-based and map-based navigation in pipe networks based onclassification of pre-existing landmarks, where said robot system'smotion control, sensor information, and landmark classification areallowed to be inaccurate.

BACKGROUND

In the prior art there are known mobile robots for performing in pipenetworks. These mobile robots are not autonomous, but leashed by a cablefor transmitting energy and control (as for sewer inspection devices)from a remote place outside the pipe network, or they swim passivelywith the flow of the pipe contents (as in oil or gas pipelineinspection). As far as known to the Applicants, autonomous mobile robotsfor pipe systems controlling motion actively and having "cut-off thecable" are not known.

For indoor and outdoor environments, autonomous mobile robot systems areknown (for example so-called floor robots. I. Nourbakhsh, R. Powers, andS. Birchfield. DERVISH: An office-navigating robot. AI Magazine,16(2):53-60, 1995.). These known robots are equipped with sensors andmaps for navigating using landmarks in the environment as referencepoints. For many of these approaches, artificial landmarks (beacons)have to be installed in the environment only for the purpose ofsupporting navigation. Those known robots that make use of naturallandmarks often suffer from uncertainty in the landmark classification.If landmarks can be beyond the sensory horizon and drift is possible inthe robot motion, navigation is impeded by overlooking landmarks.Moreover, all the known autonomous mobile robots suffer from inaccuracyof motion like drift, slip, overshooting.

In the literature, models and algorithms are known (like so-calledPOMDPs which is an acronym for Partially Observable Markov DecisionProcesses for Artificial Intelligence) that take sensor and motioninaccuracy into account. POMDPs are described for example in L.Kaelbling, M. L. Littman, and A. R. Cassandra. Partially observablemarkov decision processes for artificial intelligence. In I. Wachsmuth,C. -R. Rollinger, and W. Brauer, editors, KI-95: Advances in ArtificialIntelligence, pages 1-17. Springer Verlag (LNAI vol.981), 1995, and R.Simmons and S. Koenig. Probabilistic robot navigation in partiallyobservable environments. In Proc. IJCAI-95, pages 1080-1087, 1995. Thesealgorithms and models work the tore poorly in following a given path,the more likely it is to overlook landmarks. Due to the friction of thecables, cable-driven devices have a very limited range of operation in"natural" pipe networks. On the other side, map-based and sensor-basednavigation of autonomous mobile robots is impeded by overlookinglandmarks.

It is the object of the present invention to provide a map-based andsensor-based mobile robot system in a network of pipes wherein the robotsystem is autonomous and has no cable connection to the outside and,wherein the mobile robot system is capable of using "natural" landmarksinherently in the pipe network.

SUMMARY OF THE INVENTION

According to the invention, this object is solved in an autonomousmobile robot system for sensor-based and map-based navigation in pipenetworks based on classification of pre-existing landmarks, where saidrobot system's motion control, sensor information, and landmarkclassification are allowed to be inaccurate, said system comprising of

a vehicle for moving through the pipe network,

means for storing the topological map of landmarks,

means for determining in advance a path plan through the pipe networkfrom a starting point to a destination point in terms of saidtopological map,

means for effecting physical motion of said vehicle in the pipe networkaccording to said path plan; the control of said motion is allowed to beinaccurate,

means for controlling, while moving through the pipe network, the tiltof said vehicle along its axis of motion and the position of the vehiclewithin the pipe at the pipe bottom;

means for sensing said vehicle's environment such that the vehicle isnotified with certainty of the presence of any landmark that the vehiclepasses while navigating through the pipe network,

means for classifying, based on the output of said sensing means, saidlandmarks in terms of given landmark classes; said classification isallowed to be inaccurate,

means for generating in advance expectations about the sequence of theclass of the landmarks to be encountered while following said path planthrough the pipe network,

means for determining in terms of said topological map a currentlyplausible position of said vehicle based on the expected landmarks andon the classifications of the landmarks recently passed,

means for triggering additional sensor actions and landmarkclassifications in case that said currently plausible position in thepipe network cannot be determined according to the currently availabledata, and

means for updating said path plan in case that said currently plausibleposition differs from the position that is expected according to theoriginal path plan.

The autonomous mobile robot system according to the invention comprisesa vehicle which moves through the pipe network. A path plan through thepipe network from the starting point to a destination point in terms ofa topological map of landmarks stored in a storing means is determinedin advance by means of a determining means. Moreover, there are providedmeans for effecting physical motion of the vehicle in the pipe networkaccording to the path plan. It is pointed out that in the mobile robotsystem of the invention the control of these motions are allowed to beinaccurate. The mobile robot system according to the inventionfurthermore is provided with means for controlling the tilt of thevehicle along its axis of motion and a position of the vehicle withinthe pipe at the pipe bottom while moving through the pipe network. Thevehicle is equipped with means for sensing the vehicle's environmentwherein the vehicle is notified with certainty of the presence of any"natural" landmark that the vehicle passes while navigating through thepipe network. Based on the output of the sensing means, the landmarksare classified by a classifying means in terms of given andpre-determined landmark classes. Again it is important to note that theclassification is allowed to be inaccurate. Expectations about thesequence of the class of the landmarks to be encountered while followingthe path plan through the pipe network are generated in advance by agenerating means. The currently plausible position of the vehicle isdetermined in terms of the topological map based on the expectedlandmarks and on the classifications of the landmarks recently passed.This operation is performed in a further determining means. Theautonomous mobile robot system according to the invention also includesa triggering means for triggering additional sensor actions and landmarkclassifications in case that the currently plausible position in thepipe network cannot be determined according to the currently availabledata. If the currently plausible position differs from the position thatis expected according to the original path plan, the latter is updatedin an updating means.

The autonomous mobile robot system according to the invention does notuse any cable connection to the outside and uses "natural" landmarkslike pipe junctions of different geometrical shape classes (X-, Y-, T-or L-shapes) in the pipe network for navigating. No global position orreference frame system is necessary for moving the vehicle through thepipe network.

As expressed above, in a sensor-based autonomous mobile robot system,the classification of landmarks detected can be inaccurate. One reasonfor this is that the control of motion of the vehicle within the pipenetwork is inaccurate. Accordingly, the vehicle probably-approaches anatural landmark in a different angle of motion than expected. Due tothat reason, the sensing means of the vehicle could not detect a naturallandmark as such. The autonomous mobile robot system according to theinvention therefore, is provided with a subsystem for not overseeing anatural landmark. Moreover, the mobile robot system is provided with aclassifying means for classifying all the natural landmarks detected andmeans for compensating for possible landmark classification errors andfor possible motion control faults.

According to a preferred embodiment of the invention, the means forcontrolling the tilt of the vehicle and for keeping the vehicle at thebottom of the pipe are provided with inclinometers for measuring thevehicle's tilt along its axis of motion and by steering the vehicle backto the pipe bottom in case that the inclinometers sense a sufficienttilt.

In another preferred embodiment of the invention, the motion control forturning maneuvers of the vehicle at pipe junctions consisting of entriesof branched pipes is realized as a closed-loop procedure of a turningmovement controlled by the sensing means until the sensing meansgenerates an output signal indicating that the target pipe entry is infront of the vehicle. By means of these features, the vehicle isabsolutely autonomously mobile.

Particularly, the means for sensing the vehicle's environment compriseultrasound transducers, wherein at least some of these ultrasoundtransducers can be actively moved to produce scans of the geometricalsurface of the actual vehicle's environment. The use of actively movablesensors is advantageous for triggering additional sensor actions andlandmark classifications in case that the currently plausible positionof the vehicle in the pipe network cannot be determined according to thecurrently available data.

Preferably, the landmark classification is done by a backpropagationnetwork that gets as input the output of the sensing means and thatdelivers as output a classification of the landmark in terms of thelandmark classes. Examples for backpropagation networks are described inD. E. Rumelhart and J. McClelland. Parallel Distributed Processing.MIT-Press, Cambridge, Mass., 1986. D. E. Rumelhart and D. Zipser.Feature discovery by competetive learning. Cognitive Science, 9:75-112,1985.

After having detected the presence of a landmark in the autonomousmobile robot system of the present invention,

the vehicle is sitting motionless close to the landmark, and

the sensing means are actively controlled while sensing the environmentin order to acquire the input data for the landmark classification meanswherein the active control may include moving some of the sensing means.

These features are preferred in order to obtain a reliableclassification of the natural landmarks.

Preferably, in the mobile robot system according to the invention, thecurrently plausible position within the pipe network is determined bymeans of modelling the problem of determining a position in the pipenetwork as a Partially Observable Markov Decision Process (POMDP).

The autonomous mobile robot system according to the invention preferablyis used in a network of sewerage pipes, wherein the vehicle is a wheeledvehicle.

BRIEF DESCRIPTION OF THE DRAWINGS

In the following a preferred embodiment of the invention will bedescribed in more detail referring to the drawing in which:

FIG. 1 is a schematic representation of the test-pipe network;

FIG. 2 is a table of the classification of the junctions of thetest-pipe network of FIG. 1;

FIG. 3 is a schematic diagram of the hardware components of the robot inwhich

the ISA-bus is a standard PC-interface which is equipped with aframe-grabber board,

the PCMCIA interface is used to sample the analog signals from theultrasound transducers and from the inclinometers,

DCC1 and DCC2 are drive control circuits that control the motors M1 andM2, respectively, and

S1 is the servo motor to move the CCD camera and the flexible ultrasoundsensor;

FIG. 4 is a schema of the 2 and 1/2 levels of control wherein arrowspointing upward denote data flow and arrows pointing downward denotecontrol flow;

FIG. 5 is a diagram for tilt correction on the basis of tilt sensorswherein the curve IX represents the value from the tilt sensor measuringtilt around the main horizontal axis, the correction maneuver interferesat the marked positions, and, in addition to the tilt values, themeasurements from the left (ULV) and right (URV) ultrasound transducersare shown the document that the data stems from one single pipe;

FIG. 6 is a plot of the ultrasound values front left (ULV) and frontright (URV) while travelling through a pipe wherein the white rectanglerepresents the robot with the ultrasound beam going out to the left andthe right, wherein at the right side of the Fig., the values read by theflexible ultrasound sensor (UT) are plotted as recorded when performinga 180 degree scan at a junction entrance, and wherein the characteristicpattern of an X-type junction is visible (here not distorted by noise)and, additionally, the travel speed is indicated;

FIG. 7 are charts from the flexible ultrasound sensor (UT) at threedifferent classes of junctions, wherein the upper, middle, and lowertraces represent X-type, T-type, and L-type junctions, respectively (ascan be seen in the middle trace, there may be noise and other inparticular environmental artifacts making the correct classificationharder);

FIG. 8 is a perspective view of the robot located at the entrance of anL-shaped junction, wherein the robot is classifying junction S11 of FIG.1, using its flexible ultrasound sensor (UT) and subsequently startingthe turning maneuver to enter the pipe on its right; and

FIG. 9 shows a part of the effect matrix for TURN-RIGHT for the robot inthe test-pipe network, wherein the empty columns of the three rows shownare to be filled with zero values;

FIG. 10 is a block diagram of an autonomous mobile robot system inaccordance with the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS OF THE INVENTION

1 Introduction

The public sewerage systems in Germany have to be inspected for repairfrom time to time. Namely the sewage may leak out, possibly pollutingsoil and ground water, and it may wash away soil, possibly eroding thefoundations of buildings or the underground of streets and pavements.Consequently, considerable effort must be taken to maintain the sewagepipes, which includes inspection and local repair.

The largest part of the normal public sewerage system consists ofcircular pipes of 300-600 mm inner diameter. Obviously, they are notaccessible for humans. The current state of the art to maintain suchpipes uses tele-operated non-autonomous robot platforms. These platformsare connected to the outside world by a cable used for energy supply,for transmission of commands from the human operator to the device, fordata transmission back to the operator, as a life-line in case thedevice gets stuck in the pipe, and as a measuring line for the distancetraveled. However, the cable severely restricts the range of action ofthe maintenance devices by friction at the pipe inside after bends orafter long straight tours, where "long" means typically 200 m here. Thisrange restriction, in turn, adds considerably to the maintenance cost,because it forces the maintenance teams frequently to haul in thedevice, change the location, put the device back in, and continueworking.

An envisable alternative to such tele-operated devices is usingautonomous robots. However, the sewerage system is no easy place forrobots to work. It is narrow, slippery, dirty, and wet. It can involveall levels of water from dry to completely flooded, where a typicalwater level in a sewage pipe at dry weather is 5-10%. It consists ofpipes from different materials, where concrete, PVC, and ceramic are themost frequently used. It contains steps as in a connection between pipesof different diameters. It may include obstacles or damages likesediments, cracks, holes, non-expertly built junctions from smallerpipes, or roots grown into the pipes through cracks or leaking joints.

The studies reported here about were made with a prototype sewer robotplatform that is able to physically navigate through test seweragenetwork, or briefly, test net.

The network is built of concrete sewage pipes of 600 mm inner diameter.The total length is about 80 m. FIG. 2 shows the layout: The objectsnumbered S7, S8, S12, and S13 are open ends, the other S-numberedobjects are shafts, constructed like manholes in an operational seweragesystem while FIG. 2 shows the classification of the junctions.

In the following, the hardware design of the autonomous mobile robotsystem (referred to as robot) (Sect. 2) and its control architecture(Sect. 3) are described. Then, the rationales for the new control andnavigation procedure are sketched (Sect. 4); in particular, there aredescribed some results of experiments related to this procedure and madeusing the robot in the test net. Section 5 concludes.

2 Hardware Design

Hardware:

The system is constructed such that it is able to drive through longtube sections quickly and with a minimum of energy consumption. Turningat narrow and slippery junctions is possible with a minimum ofmechanical wear out.

Sensors:

Even if some sensor redundancy is desired, the benefit of having moresensor information must be weighed against the computer power requiredfor exploiting it. In the instant case, one should use few sensors andinstead implement domain-dependent and cheap, yet robust algorithmswhich compensate for some uncertainty in the sensor interpretation andthe resulting incompleteness of the internal representation.

Control software:

Again, robustness and reliability are mandatory. So, the controlsoftware should be modular and reflect a--probablyhierarchical--decomposition of the global task into a set of robustfunctional modules. This approach should decrease the state spacedimensions for the individual modules (by focusing on the relevantinformation).

The following subsections show how these constraints are respected inthe robot's design.

2.1 Mechatronics

The robot is a six-wheeled system of 38×28×30 cm size (L×W×H). Refer toFIG. 3 for the following description. The three wheels on either side ofthe vehicle are connected by transmission belts and form one propulsionunit. Each unit has one DC motor which can be controlled to move in twodirections at any given number of revolutions ranging from 0 to about 60per minute, thereby achieving a maximum speed of about 20 cm/sec. Themotor is controlled using separate drive control circuits (DCC), whichactively alter the voltage supplied to the motor, using pulse-widthmodulated (PWM) signals.

Because every unit has its own DCC, the robot can turn into anydirection by rotating its left and right wheels into oppositedirections. The DC-motors are equipped with odometers measuring thenumber of shaft revolutions. By counting the revolutions and taking thediameter of the wheels into account, some rough measure of the distancethat the robot has travelled can be computed. Note, however, that slipin real sewage pipes is high, so navigation should not rely much on sucha simple odometry.

The system is equipped with a rechargeable battery that providessufficient energy for approx. 1 hour of operation in the test net.

2.2 Onboard computers

All necessary computations for control and navigation are distributedamong two computers. First, there is a HCll-based microcontroller boardfor the basic control tasks like generating the appropriate PWM signals.Second, there is a standard notebook computer on which are implementedthe higher level control modules as well as path generation and globalpositioning routines.

The notebook PC (i.e. microcomputer) processing unit is a fixed part ofthe robot, thus all computation is done onboard. Although this addedweight implies further mechanical requirements for the robothardware--like more complicated kinematics or the need for more batterypower--there was no other choice for testing: The system has to operatein a sewage pipe, and in the real ones that lie, say, 4 m below streetlevel, one cannot guarantee continuous wireless contact to the robot.Therefore, computer power could not be externalized. Confronted withthat environmental constraint, it was the natural approach to usedifferent computers to perform tasks asynchronously at different gradesof complexity, while a bidirectional serial communication link served totransmit commands from the notebook to the microcontroller and statusreports from the microcontroller to the notebook.

2.3 Sensors and communication

In the discussion of the principal components of the robot as shown inFIG. 3, the CCD camera and the radio link module are omitted so far. Thecamera can rotate by 180 deg. horizontally, thus covering all of therobot's front area.

The analog video signal of the camera is first collected by an onboardframegrabber, which is installed at the ISA-Bus slot of the PC, and thentransmitted via radio link to the outside world. Note that the radiolink makes sense only in the test sewerage system, where it is anextremely useful tool to monitor the robot's perception, decision makingand action cycle. In a real sewerage system it would be highlyunpredictable whether or not connection can be made, and a radio link isthus a questionable, power-consuming component. This does not apply forthe camera itself, because pictures of damages can be taken in the pipeduring autonomous operation and later transmitted to the outside worldto inform a human operator. However, it is questionable whether videodata should be used for navigation and/or self-localisation purposesinside a sewerage system, given the relatively high power consumptionnecessary to light up the place and the computational effort to extractuseful information from video data. In the robot, the video data are notused for navigation.

This leads to the robot's sensors that do get used. First, there are twotilt sensors which are implemented in the chassis at the lowest physicallevel. These sensors measure the tilt along its two main horizontalaxes. The information derived from these sensors is mainly collected bythe microcontroller board--via an 8 bit A/D converter--approximatelyevery 100 ms. In addition, there are five ultrasound transducers, whichare mounted on the chassis of the system to cover most of the robot'sfront and side area. These devices measure the distance to objects up to100 cm away at a resolution of 1 cm. They are well fit for navigation inthe test net because the rough walls of the concrete pipes reflect soundwell and at relatively wide angles.

Also shown in FIG. 3 is an additional ultrasound transducer that ismounted on top of the camera. Its purpose will be described below (Sect.4).

3 Control Architecture

This section describes the robot's control architecture (FIG. 4) fornavigating through the test net. It is decomposed into 2 and 1/2 levels.The lowest, "half" level contains a few reflexes or control-loops forreacting to critical situations immediately; examples for such reflexesare obstacle avoidance and, particularly important in sewage pipes,tilt-control. Level 1 is a set of finite state automata that implementthe fundamental abilities for the robot to operate in a sewerage system.Level 2 contains high-level control algorithms such as a graph searchalgorithm, that, given a map of the environment, a start and goalposition, computes an optimal path (in terms of a sequence of level 1behaviors) to that goal. These levels are now addressed in more detail.

One of the basic low level tasks of the robot is to travel safelythrough a long straight pipe. It is thus mandatory to have a reactivemechanism that compensates for drift effects, which will occur fromdifferences in traction in any wheel-based or chain-based robot insewage pipes, no matter how sophisticated a hardware is used. Driftingin a sewage pipe would result in driving up the walls and possiblytoppling over. Consequently, the robot has a reactive tilt-control,which is an example from its small set of "reflexes".

The reflexes depend only on the current sensor input, exhibiting a fixedreaction scheme that couples one sensor to one effector. They areimmediately executed and report to the higher levels only later. In casethe inclinometer senses an intolerable tilt, the microcontrollerimmediately performs a correction maneuver that brings the system backinto stable position: depending on the most recent sensor reading (beingtilted left or right) the left or right motor is accelerated ordecelerated, respectively.

Only if this immediate reaction does not succeed, a level 1 behavior isactivated, which stops the motors, deactivates the reflex, and performsa more complicated maneuver to bring the robot back into normalposition. This level 1 behavior is completely located on and carried outby the microcontroller. The level 2 control program is informed thatthis behavior is activated and grants or rejects permission forexecution. This enablement structure is useful because in some difficultcases--e.g., when turning at a junction--a moderate tilt is unavoidablefor the robot and must be tolerated. However, the lower levels do notknow, e.g., whether or not the robot is at a junction.

The representation used in level 1 is more abstract than the raw sensordata. It is made from high-level states like inside tube, near junction,at unknown junction, or at type x junction, where x is a classificationlike T-junction, L-junction, or X-junction-crossing. The state atunknown junction, e.g., is generated if the robot previously was in thestate inside tube, then in state near junction, the left and rightstatic ultrasound sensors signal that there is some junction now, but ithas not yet been classified (see below how this gets done). Similarprocedures are used to compute the other states listed above.

Generally speaking, level 1 can be described as a finite deterministicautomaton, where the edges are labelled with perceptions that the robothas to make before a state transition can occur. For each state of thisautomaton, the system has a level 1 behavior that is active when therobot is in that state, thus a state transition also causes a newbehavior to be activated. However, level 1 behaviors do not startautomatically, but have to be explicitly activated by level 2.

The reason for that strategy is straightforward: On the lowest level ofcontrol, it is possible to tell more or less exactly what reflex or taskhas to be performed for a given sensor input. This turns more and moredifficult to tell in advance when the tasks become more and morecomplex. A complex task usually involves multi-step decision making:first, the integration of more than one sensor is often needed; second,these readings have to be integrated and/or correlated over time; andthird, they have to be interpreted within a given context.

In order to navigate to a previously specified position (usually ashaft), the system is equipped with a map. This map is a roughtopological description such as the one shown in FIG. 2; it does notcontain exact metrical information. The system can derive informationfrom it such as: if driving through tube t in northern direction, thenthe next junction is an L-type junction. As the robot arrives at thenext junction, it will verify whether or not the present junction is infact of the type specified by its internal map. If so, then the systemwill generate an appropriate high level task, such as turning right orleft--whatever is appropriate to reach the next subgoal. If theclassification of the current junction leads to a different result thanwas expected from the map, then the robot has a problem. The level 2algorithm dealing with this problem is described below (4.5).

4 Robot Control and Navigation: Concept and Experiments

The purpose of this section is twofold. It describes both the newcontrol and navigation procedure in general and the experiment withusing it. As a rule of thumb, the lower-level functionalities describedat the beginning of the section are special for the experiment with therobot, and the higher-level procedures described towards the end aregeneral. It will become clear from the context what is special and whatis general.

4.1 Controlling tilt

The first experiment deals with the robot's ability to drive through astraight tube without toppling over, by reacting to the data from itstilt sensors. FIG. 5 shows the tilt sensor values as they were taken atone trip through a pipe of about 10 m length. As can be seen, thesevalues deviate from the ideal line (here as the straight line) and arebrought back into a tolerance range. The extreme points of the curve IXin FIG. 5 mark the moments where the correction maneuver was triggered,bringing the robot back into a stable position.

However, after a while the system is tilted again, this time to theopposite site. The reason is that after correcting the position, therobot is not positioned parallel to the pipe axis, which it cannot senseusing its given sensor configuration. However, this is not critical aslong as the tilt correction works properly.

4.1 Passing pipes and detecting junctions

This test demonstrates the robot's ability to travel through a pipeuntil arrival at the next junction. It requires two basic perceptualabilities: encoding from the raw ultrasound reading that the system isin a tube, and knowing that it approaches or has reached a junction.Both perceptions must be executed with high precision because if, e.g.,the robot erroneously believes that it is at a junction and initiates aturning maneuver, then it might damage itself. Due to sensor noise,these perceptions must not respect local ultrasound readings only.Instead, the time series of sensor readings must be taken inito accountto derive more reliable information.

The following approach is used. The data stream is filtered to eliminatethe high frequency components of the noise. The low frequencies are noteliminated, because they correspond to the robot's drift while passingthrough the pipe. Knowing about the drift helps, because it facilitatesto predict that the robot is approaching a junction. The low frequencycomponents in the data streams from the front left and front rightsensors show identical patterns as long as the robot is just drifting inthe pipe. However, as soon as the system approaches a junction, they arephase shifted by 90 deg. or show different uncorrelated patterns. InFIG. 6, this effect can be seen from the sinusoidal patterns in therespective sensor readings: they are in phase most of the time, whereasthey start to get out of phase after approx. 9 m--the robot approaches ajunction.

So, in order to perceive that the system approaches a junction, there isused a moving window technique on the data from the front left and frontright sensors. First, the high frequency components were eliminated,filtering out local noise. Second, the trend of the data in the twowindows is computed, extracting the information whether it is positive,constant or negative, as easily computable from the sign of the firstderivative. An upcoming junction is heralded by a trend difference. Therobot would then slow down to half speed and be attentive to its leftand right sensors, which emit their signals at an angle of 90 deg.

The type of difference in the trend values even yields some informationabout the type of crossing that one is approaching; in FIG. 6, the trendvalues of both the left and right sensors are positive, indicating thatthe crossing is opening both to the left and to the right. This methodis not used to classify the junction (see Sect. 4.3), but it gives someinformation about at which sensors the robot should look next to detectdefinitely that it is at a junction. So the strategy here is to use theinformation at hand for minimizing the number of samples (sensors tolook at) that must be taken into account to make the next observation.

Different window lengths were tested. At a basic sampling frequency of10 Hz and a maximum speed of 20 cm/sec, 20 cm of travelled distance werecovered approximately when using a window length of 10. The optimalvalue depends on the frequency of the drift, which must be in harmonywith the window length.

4.3 Classifying junctions

The navigation method described here requires the ability to identifydifferent types of landmarks--it is not necessary to identify individualones. Instances for landmark types in a sewer, which are also present inavailable sewer maps, are junctions and inlets.

Obviously, the exact technical procedure to classify landmarks dependson their exact form and on the sensor configuration available. Forexample, it makes a difference whether the inside of pipes and shafts ismade of concrete, of PVC, or of ceramic, whether the sewer has beenunder operation or not, and whether it is mostly dry or filled withsewage--different circumstances may require different sensorconfigurations and different algorithms to classify landmarks. Thereshould be a way to detect and classify landmarks in a sewer for each ofthese conditions. The classification is allowed to be unreliable in thesense to be explained below.

To give a concrete example, it is described here theactive-perception-based heart of the landmark classification procedureused in the robot in the test net. Keep in mind that this is a workinginstance of the general type of classification procedure that thenavigation method requires.

For navigating through the test net, the robot uses only junctions aslandmarks. These are concrete shafts of basically four different types:T, L, X, and exit. For the T and L types, there are sub-formscorresponding to the angle from which the junction is approached, e.g.,"Left L" or "T from mid-leg". In order to safely navigate through thetest net, it suffices that the robot can identif the type of a junctionrather than individual ones.

Active perception is achieved in the robot by using a rotatingultrasound transducer. It delivers distance measurements to objectswithin a range of 100 cm. The sensor can be rotated actively by 180degrees horizontally to produce a one-dimensional distance snapshot ofthe robot's front area. 90 data points are acquired during such a scanthat show characteristic patterns (see FIG. 7).

Due to sensor noise and to differences in position of the system whentaking the scan, this data cannot be classified straightforward.Therefore a neural network for classification is used. The inputconsisted of 22 data points plus the values from the tilt sensors (usedto encode abnormal positions at a junction). The three-layered networklearned to activate one of eight output neurons representing one ofeight situations at a junction of a given type, respectively.

The network was trained off-line with real scan data that was acquiredin earlier runs in the test net. A total number of 80 training sets weregenerated and fed in at stochastic selection. Because the generaliseddelta learning rule was used, the backpropagation error from thedifference between the desired output vector and the one generated fromthe network at each trial, was computed. After off-line training, theweight matrix was saved and reloaded later, when the system had tooperate in the test net. This time, the robot used the network toclassify the types of junctions that it encountered. When the systemarrived at a junction, it performed a scan to acquire the actual dataand have the network do the classification. FIG. 2 shows the number ofcorrect/uncertain classifications for all junctions.

As these data show, the network is not sure to produce correct results.One reason is that, due to sensor noise, there may be patterns in thescans that the backprop procedure fails to approximate. Yet, the resultsshow that the network works fine in most cases. So, instead of puttingmore effort into its training, it was decided to couple theclassification from the network with a heuristic approach to raise theprobability of correct classifications: data from the self-localizationon the internal map (see Sec. 4.5) is used. In case of a discrepancybetween how the network classified the junction and what is expectedfrom the internal map, the classification procedure was retried: therobot would pull back into the pipe, approach the junction, and classifyagain.

FIG. 2 also shows the results after retrying. Even though no incorrectclassifications after retry were left in the tests, discrepancies mayoccur even then. There are two ways to proceed in this case: first, therobot keeps retrying. This is appropriate if malclassifications are verylikely to occur. Second, if the classification keeps being reproduced,then the robot must have taken a wrong turn at one of the previousjunctions. The next section focuses on how that problem is handled inthe navigation method.

4.4 Turning at junctions

Because of various unpredictabilities in any real world domain, abehavior like turning at a junction cannot be implemented as a fixedmacro. It must work in a closed-loop manner: at each moment in time, thesystem perceives the world through its sensors and computes the nextaction from these readings in the context of the current task. Thus, ifthe system intends to perform a 90 deg. turn to the right at somespecific junction, it has to perform actions until the sensor data thatit samples reflects the situation that is expected after a 90 deg. turnto the right at that junction.

There was implemented the straightforward approach: split up the overallmaneuver into different phases--three in this case. In the first phase,the robot drives forward into the junction and tries to turn by 45degrees. As the bottom of a junction is not flat but dented, i.e., thesystem is not certain to have continuous traction, the actual turning isachieved by switching between two compound movements: turn while pullingback, and turn while driving forward. (See FIG. 8 for a junction.)During this maneuver, the system tries to identify a set of previouslydefined situations in order to keep track of how far it has alreadyturned. The set of situations is different for the different types ofjunctions, of course. At a regular X-type junction, for example, thesystem would first try to identify the point when it passed the ridge atthe front right or left side, which is formed by the convergence of twometrically orthogonal tubes. Only if this situation was encountered, itenters the second phase.

In this phase, the robot keeps turning until its front sensors indicatethat it is positioned in front of a tube. Again, this is not trivial.For example, the readings of the side and front/side sensors aredistorted by a combination of the tilt of the whole device in thecrossing and the (a priori unknown) geometry of the shaft. An easy andreliable information found, was the readings of the front sensor, whichhas to indicate open space. The third phase is used to finish theoverall maneuver

reliably. During this phase the system simply tries to enter the pipe,which it believes to be right in front of. Two things may happen: first,there is really no pipe in front and second, the robot is not correctlypositioned in front of the pipe. In the first case, the system wouldstop either because it detects an obstacle ahead or--if the front sensorfails to detect the wall--because it tries to drive up the wall and isinterrupted by the tilt sensors. In the second case, the system wouldenter the tube but it would be tilted to the left or right side. Thiswill also be detected, and the balance reflex would interfere andcorrect the position. However, after that the system will definitelynotice that the situation encoded by its sensors corresponds to thatperceived when driving through a tube. In this case the turning maneuveris finished and the internal state updated.

4.5 Self Localization and Navigation

Given a topological map of a sewerage network like the one in FIG. 1,planning a path from a given start point to a specified goal position istrivial: just do graph search. To make it even easier, the real seweragenetworks have a mostly tree-like structure with only few crossconnections. So if there is a problem in navigation, it is not in pathplanning.

The challenge is to monitor path following. Note that data from GlobalPositioning Systems (GPS) is inaccessible in real sewerage networksunder ground. Should the network be crowded with autonomous robots oneday, it might be worth the effort to install easy-to-detect labels atmanholes--for the time being, a sewerage robot has to do without. It hasto rely on its on-board sensor capacity for determining where it is.

So the problem is one of self-localization on the map of a sewer, whichwas considered here in its topological variant: The main interest is notthe metric positions, but only the qualitative positions of the sort "Atshaft S_(i) " or "In connection between shafts S_(i) and S_(j) ".At-shaft positions must be further specified, indicating the adjacentconnection from which the robot has approached the shaft. For example,the position S6-7 in the test net indicates that the robot is at S6,coming from S7. The test net induces 21 positions of this kind, giventhat the outlets S12 and S13 are directly adjacent to their respectiveneighbor shafts, cf. FIG. 1. In this application, the main attention isdrawn to these positions at shafts, because they induce the qualitativepositions in connection pipes.

While the real robot can physically be at no more than one position atone time, the uncertainty of junction classification and the possibilityof fault in the control of turning maneuvers may yield a non-zeroplausibility for more than one position where the robot supposes itmight actually be. Taking the most plausible position for granted asbeing the actual one runs the risk of getting lost if this highplausibility was different from truth.

To overcome this problem, there was used a POMDP as referred to above,the essence being to encode explicitly in the current internal robotstate any remaining uncertainty about the actual physical position.Technically, this is done by considering the self-localization problemto be a partially observable Markov decision process (POMDP).Sophisticated algorithms for solving such problems can also be used,preferring ease of the exposition to efficiency.

The basic notion is that of a belief state, i.e., a probabilitydistribution over all possible positions. Such a belief state isexpressed by way of a vector b =[v_(i) ], with the definitory propertythat 1=Σ_(i) v_(i). The value of each component is to be interpreted asthe "degree of belief" that the robot is physically located at therespective position. Practically, most components would be 0 most of thetime, indicating subjective certainty of not being at that respectiveposition. In the example of the test net, a belief state is a vector of21 components.

As the start of a working example, assume that the robot is certain tobe at S6-7. The belief state representing this is ##EQU1## where the 1figures on the vector component representing position S6-7.

At the level of abstraction that is interesting for self-localizationand navigation, a robot action leads from one position to another. On alower level of description, it consists of entering into a shaft,turning in the appropriate exit, and driving through the respective pipeto the next shaft entrance, i.e., the next position. At this level ofabstraction, the following set of actions for navigating through thetest net can be denoted: TURN-LEFT, TURN-RIGHT, GO-STRAIGHT, and U-TURN.More high-level actions may be useful in a sewer with a differenttopology.

In reality, none of these high-level actions can be executed with totalprecision. For example, the implementation of TURN-RIGHT in the robotinitiates a turning maneuver to the right that is controlled by thereadings of the front and front-side US sensors, which are assumed todetect correctly the entrance to the right "as it comes along". It mayhappen that an entrance is overlooked, resulting in a U-turn rather thana right-turn. The probabilities of the respective actual outcomes of anaction have to be estimated or empirically tested a priori. For therobot in the test net, assume that TURN-RIGHT works correctly in 90%,results in a U-turn in 4%, and results in no turn (going straight) in 6%of all cases, provided that the respective junction is such that thereis a way to go straight; otherwise assume TURN-RIGHT works correctly in96% and U-turns in 4%.

A new belief state results from executing an action a, given a beliefstate b. To calculate it, a special (yet straightforward) representationof the action effects as a probability matrix E_(a) =[a_(i),j ] isexploited. This is a n×n matrix, where n is the number of possiblepositions, which is also the length of the belief state vectors--21 inthe test net. The i-th row of E_(a) contains the probabilitydistribution of the results of executing a, provided that the robot wason the i-th position. As a definitory property 1=Σ_(j) a_(i),j for allrows i that correspond to a junction where turning right is possible;all other rows are 0-vectors. FIG. 9 shows a part of the effect matrixof TURN-RIGHT for the robot in the test net.

Using this representation of action effects, the belief state res(a,b)that results from executing an action a in belief state b isstraightforward calculated as

    res(a,b)=bE.sub.a                                          (1)

As an example, let us compute the belief state resulting from the robotturning right in belief state bo above. Let E be the effect matrix ofTURN-RIGHT, then ##EQU2## The b₁ positions not shown have 0 probability.

Another way to change a belief state is a sensor measurement afterarrival at some junction. Although this has--different to the executionof a turn action--no impact on the real position of the robot, it mayinfluence the subjective degree of belief of being at a certainposition, which is precisely the interpretation of a belief state.Technically: After the robot--using the technique from Section 4.3--hasclassified the shaft corresponding to its recent position, the beliefstate is changed reflecting whether or not the classification was inharmony with it.

The respective calculation requires as input conditional probabilitiesof which classification results are to be expected at which class oflandmarks. These probabilities can be estimated or determinedempirically for a given environment and sensor configuration. Forexample, assume that the following values for the robot in the test netare given: ##EQU3##

This is to be interpreted as, e.g.: Being physically positioned at themid-leg of a T-type junction, the landmark classification will returnthat very junction type in 80% of all cases (which is the rate ofcorrectness of the first classification try at S10 in FIG. 2).

To calculate the new belief state after a sensor measurement, eachcomponent v_(i) of the old belief state b is weighed with Pr(τ|v_(i)),where τ is the junction type that the classification has returned. Inaddition, all components have to be normalized to yield a properprobability distribution. This is done in the straightforward way,resulting in the belief state update rule for sensor measurements:##EQU4##

To continue the working example in the test net, assume that thejunction classification yields "T mid-leg" after arriving at the nextjunction in belief state b₁.

According to (2), this results in the new belief state ##EQU5##

The plausibility of being at S7-6 has considerably decreased, accordingto the low probability of mis-classifying an exit as a "T mid-leg"junction. The probabilities for being at S10-6 or S5-6 have increased asthey are both compatible with the classification.

The probabilities turn very small for positions that correspond tochains of relatively improbable action effects or junctionmis-classifications. It makes sense to wash out and distribute to theother components after each belief state update those probabilities thathave fallen below some to-be-specified threshold. In the example, assumethat 0.0026 for S7-6 is below the threshold and that the distribution isdone proportionally to the remaining probability values. After that thenew belief state is ##EQU6##

So, the robot would be much convinced of being at S10-6, and providedthat prior path planning has determined that shaft as a landmark topass, it would suspect to be still correct. In general, there has to bea procedure to calculate from a belief state a plausible position thatis assumed to be the physical position of the robot after sensing. Onepossible method for that is to specify a threshold Δ, requiring that theposition with the highest probability according to the recent beliefstate has to be more probable by at least Δ than the other positions. Ifno position is currently plausible, sensing has to be re-tried.

As described in the above-mentioned POMDP-related reference, theadvantage of keeping marginal probabilities for positions that wouldcorrespond to a small number of errors in movement control and/orjunction classification, comes into play if and when these errors haveactually occured. In the example, imagine that the TURN-RIGHT actionwent wrong, resulting in the robot physically going straight to theposition S5-6. The next measurement cannot detect this fault as a "Tmid-leg" junction is expected at both the correct and the wrongjunction. The fault can only be detected at the next junction. Assumethat the path plan told to turn right at S10, going to S11. Again, a "Tmid-leg" junction is expected. However, on the wrong path, turning rightleads to S9, which is of a different type.

If there is discrepancy between the expected and the sensed,classification is repeated, as described in Section 4.3. If the firstwrong measurement was just a fault, the effect will wash out after oneor several retries. If the unexpected measurement is reproduced, thebelief state will change, increasing the probability for a differentposition. In the example, if after the right-turn supposedly at S10 (butin fact at 5) an "L right" junction is detected, the probability forS9-5 as the recent position increases, and the probability for theexpected S11-10 decreases. Repeating the classification is expected tofurther add plausibility for S9-5, until it becomes the expectedjunction. The path plan has then to be updated, and navigation continuesaccordingly.

In the following the procedure as motivated and described in thissection is briefly repeated, wherein a pseudo-code formulation of thenavigation procedure is used and the input variables are the currentlybelief state b and the path plan II:

1. If the plausible position p induced by b is the goal position of II,then stop.

2. Initiate turn maneuver according to II to go from p to the nextplanned position. Update b according to equation (1).

3. Classify the landmark at the new position, updating b according toequation (2).

4. If the classification is the expected one according to the state ofexecuting II, then continue at 0.

5. Else: Until b induces a plausible position p, repeat classifying thenew position, updating b according to equation (2).

6. If p is different from the position originally expected according toII, then replan II accordingly. Continue at 0.

5 Summary

In domains that are not specially designed or adapted for beinginhabited by autonomous mobile robots, self-localization and navigationare notorious problems. In particular, the classification of landmarkscan be expected to be unreliable. If, in addition, the motion control isless than perfect, there is some danger of getting lost, unless there isa global orientation framework, like the GPS, to rely on.

FIG. 10 illustrates a block diagram of an autonomous mobile robot system10 for a sensor-based and map-based navigation in a pipe network. Thenavigation of a vehicle 18 for moving through the pipe network may bebased on classification of pre-existing landmarks. The system 10includes a storage device 12 for storing a topological map 14 oflandmarks. A planner 16 determines an original path plan through thepipe network from a starting point to a destination point of thetopological map 14. A motor 20 or another locomotion device is capableof moving the vehicle 18 in the pipe network according to the path plan.A tilt controller 22 of the vehicle controls the tilt of the vehicle 18along its axis of motion and controls the position of the vehicle 18within the pipe with reference to the pipe's bottom. A sensor 24 sensesthe vehicle's environment so that the vehicle 18 can detect the presenceof any landmark that the vehicle 18 passes while navigating through thepipe network. A classifier 34 classifies the detected landmarks sensedby the sensor 24 in terms of defined landmark classes. Each detectedlandmark may be assigned to a corresponding defined landmark classwithin the defined landmark classes. A sequence generator 28 generates asequence of landmark classes associated with the corresponding landmarksto be encountered while following the original path plan through thepipe network. The estimator 30 determines a currently plausible positionof the vehicle 18 with respect to the topological map 14 based on theexpected landmarks and the classes of landmarks recently passed. Atrigger 26 triggers at least one additional reading of the sensor 24 fordetecting any landmark if the estimator 30 cannot determine thecurrently plausible position in the pipe network according to currentlyavailable data on the expected landmarks and on the classes of thepassed landmarks. An updater 32 updates the path plan if the currentlyplausible position differs from an expected position expected accordingto the original path plan of the planner 16.

The tilt controller 22 may be used to keep the vehicle 18 at the pipebottom. The tilt controller 22 preferably includes one or moreinclinometers for measuring the vehicle's tilt along it's axis ofmotion. The tilt controller 22 steers the vehicle 18 back to the pipebottom if at least one of the inclinometers senses a sufficient tilt.The sensor 24 provides motion control for turning maneuvers of thevehicle 18 at pipe junctions. The sensor 24 may provide a closed loopprocedure of a turning movement controlled by the sensor 24 until thesensor 24 signals that the target pipe entry is in front of the vehicle18. In one embodiment, the sensor 24 for sensing the vehicle'senvironment may comprise ultrasound transducers. Some of the sensors 24are preferably movable with respect to the vehicle 18 to produce scansof the geometrical surface of the vehicle's environment. For example,after detecting the presence of a landmark the vehicle 18 may beinstructed to remain motionless close to the landmark and the sensor 24may inquire input data for the defined landmark classes while sensingthe environment in a manner that includes moving one or more sensors 24with respect to the vehicle 18.

The system 10 includes a classifier 34 that may comprise a backpropagation network for accepting an input from an output of a sensor24. The classifier 34 outputs a classification of the landmark in termsof defined landmark classes. In one embodiment the landmarks includepipe junctions of different geometrical shape classes. For example, pipejunctions of different geometrical shape classes may include an X-shapejunction, a Y-shape junction, a T-shape junction, or an L-shapejunction. The estimator 30 is adapted to estimate the currentlyplausible position of the vehicle 18 in the pipe network. The estimator30 may model the determination of the currently plausible position as apartially observable Markov Decision Process.

In this application, there is presented a method designed for navigationin sewerage systems; it has been tested in experiments using the robotplatform the robot. It relies on being applied in sewerage systems(rather than, say, an office building equipped with landmarks) in anumber of aspects. For example, motion control errors are known to bediscrete in the sense that the robot takes either the right turn or awrong one, but there is no way of drifting slowly into a wrongdirection. Whereas the classification of a landmark is practicallysomewhat unreliable, the detection of landmarks can be assumed to workwith perfection: In a sewerage system, junctions (or at least most ofthe junctions) have to be in manholes, and it is relatively easy todetect entering into a manhole opening up 4 m in height when exitingfrom a narrow pipe. More requirements have been stated in the text, likethe existence of a reliable map, the existence of a finite (andhopefully small) set of landmarks, and others.

What is claimed is:
 1. An autonomous mobile robot system forsensor-based and map-based navigation in a pipe network based onclassification of landmarks, said system comprising:a vehicle for movingthrough the pipe network; a storage device for storing a topological mapof landmarks; a planner for determining in advance an original path planthrough the pipe network from a starting point to a destination point ofsaid topological map; a motor for moving said vehicle in the pipenetwork according to said path plan; a tilt controller for controllingthe tilt of said vehicle along its axis of motion and for controllingthe position of the vehicle within the pipe of the pipe network at apipe bottom; a sensor for sensing said vehicle's environment such thatthe sensor is capable of detecting the presence of the landmark that thevehicle passes while navigating through the pipe network; a classifierfor classifying, said detected landmarks sensed by the sensor in termsof a defined landmark classes; a sequence generator for generating asequence of landmark classes associated with the corresponding landmarksto be encountered while following said original path plan through thepipe network; an estimator for determining a currently plausibleposition of said vehicle with respect to the topological map based onthe expected landmarks and on the classes of the detected landmarksrecently passed; a trigger for triggering at least one additionalreading of the sensor for detecting any landmark if the estimator cannotdetermine the currently plausible position in the pipe network accordingto currently available data on the expected landmarks and on the classesof the passed landmarks, and an updater for updating said path plan ifsaid currently plausible position differs from an expected positionexpected according to the original path plan of the planner.
 2. Thesystem according to claim 1 wherein said tilt controller for keeping thevehicle at the pipe bottom comprises one or more inclinometers formeasuring the vehicle's tilt along its axis of motion and the tiltcontroller steering the vehicle back to the pipe bottom if at least oneof said inclinometers senses a sufficient tilt.
 3. The system accordingto claim 1 wherein the sensor provides motion control for turningmaneuvers of said vehicle at pipe junctions as a closed-loop procedureof a turning movement controlled by said sensor until said sensorsignals that the target pipe entry is in front of the vehicle.
 4. Thesystem according to claim 1 wherein the sensor for sensing saidvehicle's environment comprise ultrasound transducers, some of thetransducers being movable with respect to the vehicle to produce scansof the geometrical surface of the vehicle's environment.
 5. The systemaccording to claim 1 wherein said classifier comprises a backpropagationnetwork accepting an input from an output of said sensor and outputtinga classification of the landmark in terms of said defined landmarkclasses.
 6. The system according to claim 1 wherein, after havingdetected the presence of a landmark, said vehicle is motionless close tothe detected landmark, and the sensor for acquiring the input data forsaid landmark classification may be moved with respect to the vehiclewhile sensing the environment.
 7. The system according to claim 1wherein said estimator is adapted to estimate the currently plausibleposition in the pipe network by modelling the determination of aposition in the pipe network as a Partially Observable Markov DecisionProcess.
 8. The system according to claim 1 wherein said pipe network isa network of sewerage pipes.
 9. The system according to claim 1 whereinsaid vehicle has wheels.
 10. The system according to claim 1 whereinsaid landmarks comprise pipe junctions of different geometrical shapeclasses selected from the group consisting of an X-shape, a Y-shape, aT-shape, and an L-shape.
 11. A mobile robot system for navigation in apipe network, said system comprising:a vehicle for moving through thepipe network; a storage device for storing a topological map oflandmarks; a planner for determining in advance an original path planthrough the pipe network from a starting point to a destination point ofsaid topological map; a sensor for sensing surroundings of the vehiclesuch that the sensor is capable of detecting the presence of thelandmark that the vehicle passes while navigating through the pipenetwork; a classifier for classifying said detected landmarks sensed bythe sensor in terms of a defined landmark classes; a sequence generatorfor generating a sequence of landmarks to be encountered while followingsaid original path plan through the pipe network; an estimator fordetermining a currently plausible position of said vehicle with respectto the topological map based on the expected landmarks and on theclasses of the detected landmarks recently passed; and an updater forupdating said path plan if said currently plausible position differsfrom an expected position expected according to the original path planof the planner.
 12. The system according to claim 11 further comprisinga tilt controller including at least one inclinometer for measuring atilt of the vehicle along its axis of motion and the tilt controllerbeing adapted to steer the vehicle back to a lower tilt if the at leastone inclinometer senses a sufficiently high tilt.
 13. The systemaccording to claim 11 wherein the sensor provides motion control forturning maneuvers of said vehicle at pipe junction as a closed-loopprocedure of a turning movement controlled by said sensor until saidsensor signals that the target pipe entry is in front of the vehicle.14. The system according to claim 11 wherein the sensor comprises anultrasound transducer being movable with respect to the vehicle to scansurroundings of the vehicle.
 15. The system according to claim 11wherein said classifier accepts an input from the sensor and outputs aclassification of a landmark.
 16. The system according to claim 11wherein, after having detected the presence of a landmark, the sensor ismoved with respect to the vehicle.
 17. The system according to claim 11wherein said estimator is adapted to estimate the currently plausibleposition in the pipe network by modeling the determination of a positionin the pipe network as a Partially Observable Markov Decision Process.18. The system according to claim 11 wherein said landmarks comprisepipe junctions of different geometrical shape classes selected from thegroup consisting of an X-shape, a Y-shape, a T-shape, and an L-shape.